package com.gite.nouette.admin.implementation.integrator.assembler;

import com.gite.nouette.admin.contract.integrator.assembler.IAssemblerManager;
import com.gite.nouette.admin.contract.integrator.director.IDirectorManager;
import com.gite.nouette.admin.contract.model.IAdmin;

public abstract class AbstractAssemblerManager implements IAssemblerManager {
	private IAdmin parentProduct;
	private IDirectorManager director;

	@Override
	public void run() {
		getDirector().constructProduct();
		getParentProduct().addManager(getDirector().getProduct());
	}

	@Override
	public IAdmin getParentProduct() {
		return this.parentProduct;
	}

	@Override
	public void setParentProduct(IAdmin parentProduct) {
		this.parentProduct = parentProduct;
	}

	@Override
	public IDirectorManager getDirector() {
		return this.director;
	}

	@Override
	public void setDirector(IDirectorManager director) {
		this.director = director;
	}
}
